package com.ruoyi.buss.system.service.impl;

import java.util.ArrayList;
import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.model.LoginUser;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.buss.system.mapper.IusOrgInfoMapper;
import com.ruoyi.buss.system.domain.IusOrgInfo;
import com.ruoyi.buss.system.service.IIusOrgInfoService;
import com.ruoyi.buss.utils.ListUtil;
import com.ruoyi.buss.system.mapper.SysDeptMapper;

/**
 * 机构信息Service业务层处理
 * 
 * @author zjh
 * @date 2021-07-22
 */
@Service
public class IusOrgInfoServiceImpl implements IIusOrgInfoService 
{
    @Autowired
    private IusOrgInfoMapper iusOrgInfoMapper;
    @Autowired
    private SysDeptMapper SysDeptMapper;
    
    public String getIdCardShow(String idCard){
        List<String> idCardShowList=iusOrgInfoMapper.queryIdCardShow(idCard);
        String idCardShow="";
        if(!ListUtil.isNullOrEmpty(idCardShowList)){
            idCardShow=idCardShowList.get(0);
        }
         return idCardShow;
     }
    /**
     *  判断是否是总行操作人员,如果是总行角色，返回true
     * @param userId
     * @return
     */
    public boolean checkRoleIsZongHang(LoginUser userInfo)
    {
    	if (userInfo.getRoles().contains("admin") || userInfo.getRoles().contains("office")) {
    		return true;
    	} 
        return false;
    }
    
    /**
     * 查询机构信息
     * 
     * @param orgId 机构信息ID
     * @return 机构信息
     */
    @Override
    public IusOrgInfo selectIusOrgInfoById(String orgId)
    {
        return iusOrgInfoMapper.selectIusOrgInfoById(orgId);
    }

    /**
     * 查询机构信息列表
     *
     * @param iusOrgInfo 机构信息
     * @return 机构信息
     */
    @Override
    public List<IusOrgInfo> selectIusOrgInfoList(LoginUser userInfo)
    {

        SysDept sysDept = new  SysDept();
        String orgId = userInfo.getSysUser().getDept().getOrgId();
        // 如果是admin用户不做处理
        if ( !(userInfo.getRoles().contains("admin") || userInfo.getRoles().contains("office"))) {
            sysDept.setOrgId(orgId);
        }

        List<SysDept> deptList = SysDeptMapper.selectDeptList(sysDept);
        List<IusOrgInfo> list = new ArrayList<IusOrgInfo>();
        for(SysDept dept:deptList){
            IusOrgInfo iusOrgInfo = new IusOrgInfo();
            iusOrgInfo.setOrgId(dept.getOrgId());
            iusOrgInfo.setOrgName(dept.getDeptName());
            list.add(iusOrgInfo);
        }

        return list;
    }

    /**
     * 新增机构信息
     * 
     * @param iusOrgInfo 机构信息
     * @return 结果
     */
    @Override
    public int insertIusOrgInfo(IusOrgInfo iusOrgInfo)
    {
        iusOrgInfo.setCreateTime(DateUtils.getNowDate());
        return iusOrgInfoMapper.insertIusOrgInfo(iusOrgInfo);
    }

    /**
     * 修改机构信息
     * 
     * @param iusOrgInfo 机构信息
     * @return 结果
     */
    @Override
    public int updateIusOrgInfo(IusOrgInfo iusOrgInfo)
    {
        iusOrgInfo.setUpdateTime(DateUtils.getNowDate());
        return iusOrgInfoMapper.updateIusOrgInfo(iusOrgInfo);
    }

    /**
     * 批量删除机构信息
     * 
     * @param orgIds 需要删除的机构信息ID
     * @return 结果
     */
    @Override
    public int deleteIusOrgInfoByIds(String[] orgIds)
    {
        return iusOrgInfoMapper.deleteIusOrgInfoByIds(orgIds);
    }

    /**
     * 删除机构信息信息
     * 
     * @param orgId 机构信息ID
     * @return 结果
     */
    @Override
    public int deleteIusOrgInfoById(String orgId)
    {
        return iusOrgInfoMapper.deleteIusOrgInfoById(orgId);
    }
}
